OCR Xpress for Linux makes it very easy to create a full page OCR application. For the basics, there are two ways to produce searchable text documents from images; generate a PDF file and generate a TXT file. In addition, text in memory can be generated for the OCR Xpress internal data.
Copy Code
|
|
---|---|
#include "ocrxpress.h" … intptr_t dib = 0; OCRX_Status status; … status = OCRX_load_file("FilePathOfImageToOCR.bmp", &dib); if(status.status_code == OCRX_StatusCode_Error) { // report error here // terminate process } |
Copy Code
|
|
---|---|
… OCRX_RecognitionParameters params = OCRX_DefaultRecognitionParameters; params.language = OCRX_Language_English; char* fileName= “FilePathOfOutputDocument.pdf”; status = OCRX_recognize_to_file(params, dib, OCRX_FileFormat_PDF, OCRX_FileMode_Overwrite, fileName); if(status.status_code == OCRX_StatusCode_Error) { // report error here // terminate process } |
Copy Code
|
|
---|---|
… OCRX_RecognitionParameters params = OCRX_DefaultRecognitionParameters; params.language = OCRX_Language_English; char* fileName= “FilePathOfOutputDocument.txt”; status = OCRX_recognize_to_file(params, dib, OCRX_FileFormat_Text, OCRX_FileMode_Overwrite, fileName); if(status.status_code == OCRX_StatusCode_Error) { // report error here // terminate process } |
Copy Code
|
|
---|---|
… OCRX_RecognitionParameters params = OCRX_DefaultRecognitionParameters; params.language = OCRX_Language_English; OCRX_Result document = 0; status = OCRX_recognize_to_memory(params, dib, &document); if(status.status_code == OCRX_StatusCode_Error) { // report error here // terminate process } int32_t text_size = 0; status = OCRX_get_utf8_text_size(document, &text_size); if(status.status_code == OCRX_StatusCode_Error) { // report error here // terminate process } char* buffer = (char*)malloc(text_size); // OCR Xpress will copy text data to this buffer status = OCRX_get_utf8_text(results, buffer, text_size); if(status.status_code == OCRX_StatusCode_Error) { // report error here // terminate process } OCRX_free_document_result(&document); free(buffer); |
Copy Code
|
|
---|---|
... status = OCRX_free_dib(dib); if(status.status_code == OCRX_StatusCode_Error) { // report error here // terminate process } |